// 也可以直接使用字面量进行类型声明
// 可以使用 | 链接多个类型(联合类型)
var b;
b = "male";
b = "femal";
var c;
c = true;
c = "hello";
// any 表示的是任意类型
// 使用TS是，不建议使用any类型
// let d: any;
// 声明变量如果不指定类型，则TS解析器会自动判断变量的类型为any （隐式的any）
var d;
d = 10;
d = "hello";
d = true;
// unknown 表示位置类型的值
var e;
e = 10;
e = "hello";
e = true;
var s;
// d的类型是any，它可以复制给任意变量
// s = d;
e = "hello";
// unknown 实际上就是一个类型安全的any
// unknown 类型的变量，不能直接赋值给其他变量
// s = e;
if (typeof e === 'string') {
    s = e;
}
// 类型断言, 可以用来告诉解析器变量的实际类型
// 语法 as 类型  <类型>值
s = e;
s = e;
// void 用来表示空，以函数为例，就表示没有返回值的函数
function fn() {
    return void 0;
}
console.log(fn());
